A General Model for Reachability Testing of Concurrent Programs

نویسندگان

  • Richard H. Carver
  • Yu Lei
چکیده

Reachability testing is a technique for testing concurrent programs. Reachability testing derives test sequences on-the-fly as the testing process progresses, and can be used to systematically exercise all the behaviors of a program. The main contribution of this paper is a general model for reachability testing. This model allows reachability testing to be applied to many different types of concurrent programs, including asynchronous and synchronous message passing programs, and shared-memory programs that use semaphores, locks, and monitors. We define a common format for execution traces and present timestamp assignment schemes for identifying races and computing race variants, which are a crucial part of reachability testing. Finally, we discuss a prototype reachability testing tool, called RichTest, and present some empirical results.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

PRELIMINARY VERSION SUBMITTED TO IEEE TRANSACTION ON SOFTWARE ENGINEERING 3 sequences

One approach to testing concurrent programs, called reachability testing, generates synchronization sequencesautomatically, and on-the-fly, without constructing any static models. In this paper, we present a general execution model forconcurrent programs that allows reachability testing to be applied to several commonly used synchronization constructs. We alsopresent a new method fo...

متن کامل

Statement-Coverage Testing for Concurrent Programs in Reachability Testing

In this paper we propose a scheme for reachability testing to achieve statement coverage in the dynamic testing of concurrent programs. Previous studies on reachability testing have only enumerated the feasible interleavings of a concurrent program for a given input. The proposed scheme derives inputs from SYN-sequences obtained in reachability testing and uses these inputs to perform reachabil...

متن کامل

Reachability checking in complex and concurrent software systems using intelligent search methods

Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...

متن کامل

Reachability Testing : An Approach to Testing Concurrent

Concurrent programs are more diicult to test than sequential programs because of nondeterministic behavior. An execution of a concurrent program non-deterministically exercises a sequence of synchronization events, called a synchronization sequence (or SYN-sequence). Nondeterministic testing of a concurrent program P is to execute P with a given input many times in order to exercise distinct SY...

متن کامل

Reachability Graph-Based Test Sequence Generation for Concurrent Programs

One common approach to test sequence generation for structurally testing concurrent programs involves constructing a reachability graph (RG) and selecting a set of paths from the graph to satisfy some coverage criterion. It is often suggested that test sequence generation methods for testing sequential programs based on a control flow graph (CFG) can also be used to select paths from an RG for ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004